查看原文
其他

基于Order Book的深度学习模型:预测多时间段收益序列

QIML编辑部 量化投资与机器学习 2023-03-29

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业20W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。


量化投资与机器学习公众号独家解读


量化投资与机器学公众号  QIML Insight——深度研读系列 是公众号今年全力打造的一档深度、前沿、高水准栏目。



公众号遴选了各大期刊前沿论文,按照理解和提炼的方式为读者呈现每篇论文最精华的部分。QIML希望大家能够读到可以成长的量化文章,愿与你共同进步!

本期遴选论文
来源:SSRN
标题:Deep Order Flow Imbalance: Extracting Alpha at Multiple Horizons from the Limit Order Book
作者:Petter N. Kolm、Jeremy Turiel、Nicholas Westray

作者基于原始订单数据,构建了订单状态指标、订单流指标,并结合深度学习模型对Nasdaq的115股票构建高频价格预测模型,并对比了多个模型的效果。核心观点如下:

  • 订单流的原始数据,可以直接作为深度学习模型的输入,而不需要过多的进行特征工程。

  • 模型预测的效果与股票交易活跃度有关,成交活跃的股票,模型的整体效果更优。

  • 在多预测时间段的测试中,模型整体对于短期价格的变动有优秀的预测能力,模型效果的最优表现出现在K=10附近。


订单数据


订单簿如下图所示,按照价格优先时间优先的原则将买单卖单做如下排列,



针对订单簿的数据,作者定义了以下指标:订单簿状态LOB,订单流OF,订单流失衡(OFI)


1、Order Book States(LOB)

其中 为前十档的卖价, 为前十档的卖量, 为前十档的买价格, 为前十档的买量。

2、Bid-Ask Order Flow(OF)

3、Order Flow Imbalance(OFI)


预测模型


作者测试了多种模型,对比各种模型的预测效果。






实证


因变量


因变量是股票在未来一段时间用mid-price计算的收益率,对于每一时刻t,模型预测了多个未来horizon的收益率,用向量r表示:

其中r为mid-price return, 表示两个tick之间中间价计算的收益率。该模型是采用长度为w的滚动窗口进行计算,对于所有模型,w统一设置为100:

如表6所示,由于每个股票的成交活跃度都不一样,EBAY和MSFT每天Order Book的活跃度(Updates)差了三个数量级。所以作者针对每个股票设定各自的时间划分间隔(stock specific time increment):

其中分子是一个交易日交易时间的毫秒数,N表示这个股票每天非零的mid-price returns的数量。那对于(14)中,具体的预测时间点为以下10个时间点:

各时间点的mid-price return为:

其中 表示时刻t的mid-price, 是为了考虑延迟,所以在时间t用的实际上是 的mid-price, 的取值是10毫秒。


自变量


作者测试了两种自变量的表现,分别是上式(1)的LOB和上式(4)的OF,对于所有自变量和因变量都Winsorize到0.5%和99.5%的区间,并转换为z-score。最终作者选取了纳斯达克上市的115只股票的订单数据作为训练样本。


对于每个测试时间段,模型评价采用以下方式:

其中 是模型的mean square error, 是基于测试时间段 r 的均值计算的mean square error,以此作为模型表现得基准。 大于0,说明模型的效果优于Benchmark。


模型设置


表2给出了所有模型的参数及设置,单个模型的训练时间在10-60分钟左右。




结果


短期预测效果对比

下图给出了各模型短期预测效果的对比,其中左边的自变量是OF,右边的自变量是LOB。X轴对应不同的预测horizon(如17表示,一共10个horizons);Y轴是根据18计算的模型表现,首先计算每个股票每个Horizon每天平均的 ,然后把所有股票的 平均就得到Y轴的值。可以看出:

  • 基于LOB的模型,处理CNN=LSTM跑赢基准,其他模型都没法从LOB中学习到有效信息。由于OF只是基于LOB计算的衍生指标,给定足够数据的情况下,理论上深度学习的模型(如LSTM等)应该能够学到如基于OF模型一样的效果,但是整体而言,基于OF(左边)的模型表现更好。


  • 模型的效果在X轴等于2(k=10)时,达到了上限,也就是说深度学习模型整体对短期的价格变动有更好的预测结果。



预测准确度比较


基于OF和LOB两种输入,分别测试的6个模型,所以一共有12个组合。每天对12个模型的不同horizon的表现进行排序(1-12名),然后把所有测试时间段,每个模型每天的排序计算平均值,由下图表示:


  • OF模型的整体排名要由于LOB

  • 含有LSTM部分的模型的表现要由于ARX和MLP

  • CNN-LSTM的表现很稳定,在各horizon得排在第一



预测表现和股票其他特征之前的关系


作者针对OF作为输入的LSTM模型,研究模型表现与股票特征之间的关系,计算出每个模型测试时间的 均值,并计算对 与股票各特征做回归,包括Tick Size, LogUpdates, LogTrades, LogPriceChg, Log(Updates/PriceChg。可以发现模型的表现与TickSize和Updates正相关,与PriceChg负相关。其中PriceChg表示单位时间价格变动的次数,一定程度反映了股票的波动性。



具体的截面回归的结果如下表所示:



长期预测能力


以上的结果都限定在k=10以内(等式17中的k),对于更长时间的预测效果,如下图所示,可以看出模型的表现在x轴等于2的时候达到最大,当x超过2,模型的效果持续下降。




总结


  • 订单流的原始数据,可以直接作为深度学习模型的输入,而不需要过多的进行特征工程。


  • 模型预测的效果与股票交易活跃度有关,成交活跃的股票,模型的整体效果更优。

  • 在多预测时间段的测试中,模型整体对于短期价格的变动有优秀的预测能力,模型效果的最优表现出现在K=10附近。


参考文献

Zhang, Zihao, Stefan Zohren, and Stephen Roberts (2018). \BDLOB: Bayesian Deep Convolutional Neural Networks For Limit Order Books". In: arXiv preprint arXiv:1811.10041.

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存